1. Field of the Invention
The present invention relates to multi-page SVG-formatted documents (where “SVG” refers to Scalable Vector Graphics), and particularly relates to new element types that define a document directory including location information of each page. The invention also relate, to authoring tools for such multi-page documents, as well as to viewers for viewing such documents.
2. Description of the Related Art
Scalable vector graphics (“SVG”) is a language for describing two-dimensional graphics in extensible markup language (“XML”). SVG allows for three types of graphic objects: vector graphic shapes, images, and text. An SVG document is a plain-text document which includes plain-text descriptions of the graphics objects and their attributes, such as text which describes where the object is located (a “URI”) or how to draw the object. The text is delimited by an opening tag and an accompanying closing tag which are collectively known as “element types”. As an example, a “title” element type might delimit text with an opening tag of the form <title> and a closing tag of </title>, although some element types might include opening and closing tags in a single line.
The SVG language is maintained and defined by the World Wide Web Consortium (W3C), and details on the current grammar for SVG can be found at W3C's web site www.w3c.org. The current definition of SVG is defined by W3C in “Scalable Vector Graphics (SVG) 1.0 specification: W3C Recommendation 4 Sep. 2001” available at the aforementioned web site and incorporated herein by reference. The specification includes the document type definition for SVG. A “document type definition” defines the rules and grammar to which the plural element types conform.
As conceived by the W3C, SVG defines a graphical object viewable in a graphic window inside a document. More recently, however, it has been considered to extend the concept of SVG to that of a document itself, including multi-page documents.
One such example has been proposed by the assignee of the present invention at application Ser. No. 09/661,387, filed Sep. 13, 2000, entitled “A Scalable Vector Graphics Print Driver”. According to this application, the contents of which are incorporated herein by reference, a print driver accepts print output from an application program and, rather than generating information for a printer, instead generates an SVG document. The document may include multiple pages. The resulting SVG document may thereafter be used for any suitable purpose, such as posting on the Internet or inclusion in web pages. Moreover, because the SVG document is plain text and the SVG grammar is platform-independent, the SVG document can be transferred to users across computing platforms and thereby serves as a platform-independent document format.
Through use of the print driver defined in the aforementioned application Ser. No. 09/661,387, any application program that supports printing can output an SVG-formatted document thereby achieving platform independence for the output of any application that prints.
Another effort in developing print drivers that output SVG-formatted documents is provided by SVGmaker™ developed by Software Mechanics Party Ltd. of Brisbane, Australia, for which information is provided in its web site at www.svgmaker.com.
One problem recently encountered with multi-page SVG-formatted documents involves rendering and viewing such documents. Because SVG was originally conceived as a format for a graphic in a single window, to render the document in preparation for viewing it is necessary to parse the entire document, from beginning to end. For multi-page documents, however, parsing the entire document is time-consuming, particularly if the document includes many pages. Moreover, because the document cannot be completely rendered or viewed until parsing is completed, large delays are encountered even when viewing just one page of the document, or in moving from page to page.